Skip to main content

Class Store<TValue, TValueType, TWriteValue>

Base class for store instructions.

Assembly: WaaS.Core.dll
Declaration
public abstract class Store<TValue, TValueType, TWriteValue> : Instruction where TValue : unmanaged where TValueType : struct, IValueType<TValue> where TWriteValue : unmanaged

Inheritance: System.Object -> WaaS.Models.Instruction

Derived:
WaaS.Models.StoreI32AsU16, WaaS.Models.StoreI32AsU8, WaaS.Models.StoreI64AsU16, WaaS.Models.StoreI64AsU32, WaaS.Models.StoreI64AsU8, WaaS.Models.Store<TValue, TValueType>

Properties

Align

View Source
Declaration
public uint Align { get; }

Offset

View Source
Declaration
public uint Offset { get; }

Methods

Convert(in TValue)

View Source
Declaration
protected abstract TWriteValue Convert(in TValue value)
Returns

<TWriteValue>

Parameters
TypeName
<TValue>value

Execute(WasmStackFrame)

Executes the instruction.

View Source
Declaration
public override void Execute(WasmStackFrame current)
Parameters
TypeName
WaaS.Runtime.WasmStackFramecurrent

Validate(in ValidationContext)

Validates the instruction.

View Source
Declaration
public override void Validate(in ValidationContext context)
Parameters
TypeName
WaaS.Models.ValidationContextcontext

PreValidateStackState(in ValidationContext)

Get the number of values to pop and push from the stack to validate stack depth.

View Source
Declaration
public override (uint popCount, uint pushCount) PreValidateStackState(in ValidationContext context)
Returns

System.ValueTuple<System.UInt32,System.UInt32>

Parameters
TypeName
WaaS.Models.ValidationContextcontext

ValidateStackState(in ValidationContext, ref ValidationBlockStackState)

Simulates stack operations to validate the stack state.

View Source
Declaration
public override void ValidateStackState(in ValidationContext context, ref ValidationBlockStackState stackState)
Parameters
TypeName
WaaS.Models.ValidationContextcontext
WaaS.Models.ValidationBlockStackStatestackState